package atomlist;

import java.util.concurrent.LinkedTransferQueue;

/**
 * @功能
 * @创建时间 2019/12/25
 * 消费者先启动，生产者生产出东西，若发现消费者需要就直接给是消费者，不进队列，一般用在线程多的情况，若没有消费者则会进入阻塞（等待）
 */
public class T08_TransferQueue {
    public static void main(String[] args) throws InterruptedException {
        LinkedTransferQueue<String> strs = new LinkedTransferQueue<>();
        new Thread(()->{
            try{
                System.out.println(strs.take()); //消费
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();
        strs.transfer("aaa"); //生产，只有transfer会阻塞
  /*      new Thread(()->{
            try{
                System.out.println(strs.take());
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();*/
    }
}
